<?php
/**
 * @desc:
 * wsxc - LinkedShopGoods.php
 * @author: quanjianyu
 * @email: 164174421@qq.com
 * @dateTime：2021/4/11 1:02
 */

namespace wsxc\bean\shopGoods;


class LinkedShopGoods {
    // get params
    private string $albumId;
    private string $searchValue;
    // 需要开启会员,猜测可能是图片路径,传string即可
    private string $searchImg;
    // 2021-04-16  字符串
    private string $startDate;
    // 时间戳,毫秒 找上一个items下的最后一个商品中的time_stamp标记传入,就可以拿到下一页的数据
    private string $timestamp;
    // 2021-04-15
    private string $endDate;
    private string $sourceId;
    private string $requestDataType;
    // 0未分享  1已分享
    private string $shareType;

    // post params
    private array $tagList;

    /**
     * LinkedShopGoods constructor.
     * @param string $albumId
     * @param string $searchValue
     * @param string $searchImg
     * @param string $startDate
     * @param string $timestamp
     * @param string $endDate
     * @param string $sourceId
     * @param string $requestDataType
     * @param string $shareType
     * @param array $tagList
     */
    public function __construct(string $albumId, string $searchValue, string $searchImg, string $startDate, string $timestamp, string $endDate, string $sourceId, string $requestDataType, string $shareType, array $tagList) {
        $this->albumId = $albumId;
        $this->searchValue = $searchValue;
        $this->searchImg = $searchImg;
        $this->startDate = $startDate;
        $this->timestamp = $timestamp;
        $this->endDate = $endDate;
        $this->sourceId = $sourceId;
        $this->requestDataType = $requestDataType;
        $this->shareType = $shareType;
        $this->tagList = $tagList;
    }

    public function toGetParamsArray() : array {
        $data['albumId'] = $this->getAlbumId() ? : '';
        $data['searchValue'] = $this->getSearchValue() ? : '';
        $data['searchImg'] = $this->getSearchImg() ? : '';
        $data['startDate'] = $this->getStartDate() ? : '';
        $data['endDate'] = $this->getEndDate() ? : '';
        $data['sourceId'] = $this->getSourceId() ? : '';
        $data['shareType'] = $this->getShareType() ? : '';
        $data['timestamp'] = $this->getTimestamp() ? : '';
        return $data;
    }

    public function toPostParamsArray() : array {
        $data = [];
        $data['tagList'] = $this->getTagList() ? : [];
        return $data;
    }


    /**
     * @return string
     */
    public function getAlbumId(): string {
        return $this->albumId;
    }

    /**
     * @param string $albumId
     */
    public function setAlbumId(string $albumId): void {
        $this->albumId = $albumId;
    }

    /**
     * @return string
     */
    public function getSearchValue(): string {
        return $this->searchValue;
    }

    /**
     * @param string $searchValue
     */
    public function setSearchValue(string $searchValue): void {
        $this->searchValue = $searchValue;
    }

    /**
     * @return string
     */
    public function getSearchImg(): string {
        return $this->searchImg;
    }

    /**
     * @param string $searchImg
     */
    public function setSearchImg(string $searchImg): void {
        $this->searchImg = $searchImg;
    }

    /**
     * @return string
     */
    public function getStartDate(): string {
        return $this->startDate;
    }

    /**
     * @param string $startDate
     */
    public function setStartDate(string $startDate): void {
        $this->startDate = $startDate;
    }

    /**
     * @return string
     */
    public function getEndDate(): string {
        return $this->endDate;
    }

    /**
     * @param string $endDate
     */
    public function setEndDate(string $endDate): void {
        $this->endDate = $endDate;
    }

    /**
     * @return string
     */
    public function getSourceId(): string {
        return $this->sourceId;
    }

    /**
     * @param string $sourceId
     */
    public function setSourceId(string $sourceId): void {
        $this->sourceId = $sourceId;
    }

    /**
     * @return string
     */
    public function getRequestDataType(): string {
        return $this->requestDataType;
    }

    /**
     * @param string $requestDataType
     */
    public function setRequestDataType(string $requestDataType): void {
        $this->requestDataType = $requestDataType;
    }

    /**
     * @return array
     */
    public function getTagList(): array {
        return $this->tagList;
    }

    /**
     * @param array $tagList
     */
    public function setTagList(array $tagList): void {
        $this->tagList = $tagList;
    }

    /**
     * @return string
     */
    public function getShareType(): string {
        return $this->shareType;
    }

    /**
     * @param string $shareType
     */
    public function setShareType(string $shareType): void {
        $this->shareType = $shareType;
    }

    /**
     * @return string
     */
    public function getTimestamp(): string {
        return $this->timestamp;
    }

    /**
     * @param string $timestamp
     */
    public function setTimestamp(string $timestamp): void {
        $this->timestamp = $timestamp;
    }


}